#pragma once

#if defined(CONFIG_TAR4ESP32)
#include "esp_console.h"
#include "esp_log.h"
#include "esp_system.h"
#include "esp_vfs_dev.h"
#include "esp_vfs_fat.h"
#include "nvs.h"
#include "nvs_flash.h"
#endif

#include <typedef.h>

class Storage
{
public:
	Storage();
	virtual ~Storage();
	static Storage* Instance(void);
	void Init(void);

private:
#if defined(CONFIG_TAR4ESP32)
	void InitializeFileSystem(void);
	void InitializeNvs(void);
	void GetFileSystemInfo(void);

	wl_handle_t m_WlHandle;
	esp_vfs_fat_mount_config_t m_MountConfig;
#endif
};